package com.example.wzdjcrdpassword.service;

import com.example.wzdjcrdpassword.entity.CardPassword;
import com.example.wzdjcrdpassword.repository.CardPasswordRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Optional;

@Service
@RequiredArgsConstructor
public class CardPasswordService {
    
    private final CardPasswordRepository cardPasswordRepository;
    
    /**
     * 获取所有有效卡密
     * @return 卡密列表
     */
    public List<CardPassword> getAllAvailableCardPasswords() {
        return cardPasswordRepository.findAllAvailableCardPasswords(LocalDateTime.now());
    }
    
    /**
     * 验证卡密是否有效
     * @param cardPassword 卡密
     * @return 验证结果
     */
    public boolean validateCardPassword(String cardPassword) {
        // 直接从数据库获取
        Optional<CardPassword> cardPasswordOpt = cardPasswordRepository.findByCardPasswordAndValid(cardPassword, LocalDateTime.now());
        
        return cardPasswordOpt.isPresent();
    }
    
    /**
     * 获取卡密详细信息
     * @param cardPassword 卡密
     * @return 卡密信息
     */
    public Optional<CardPassword> getCardPasswordInfo(String cardPassword) {
        // 直接从数据库获取
        return cardPasswordRepository.findByCardPasswordAndValid(cardPassword, LocalDateTime.now());
    }
    

}